Eecient Parallel Algorithms for Modular Decomposition and Split Decomposition of Chordal Graphs

نویسنده

  • Elias Dahlhaus
چکیده

We present e cient parallel algorithms for the modular decomposition and split decomposition of chordal graphs, provided a representation as a collection of subtrees of a tree is known. The running time is logarithmic and the processor number is linear. 0 Introduction By a module we mean a subset V0 of the vertices of a graphG = (V;E) such that all vertices inside V0 have the same neighbors outside V0. The decomposition of a graph into modules plays an important role to test isomorphism of interval graphs or permutation graphs. By a split we mean a partition V1; V2 of the vertices of a graph G = (V;E) such that all vertices of V2 that are in the neighborhood of V1 have the same neighbors in V1. Note that the de nition of a split is symmetric. Split decomposition was introduced for directed graphs by Cunningham [4]. Distance hereditary graphs are those graphs that are totally split decomposable [9]. Moreover, split decomposition plays an important role in the recognition of path graphs and isomorphism testing of directed path graphs [5]. An O(n2) time algorithm for split decomposition is due to [12]. Even a simple linear time sequential algorithm for modular decomposition of chordal graphs is known [10]. In this paper, we are interested in parallel algorithms to nd a decomposition of a chordal graph into modules. We shall nd out that we can extend our parallel modular decomposition algorithm to nd a split decomposition for chordal graphs. If a representation of the chordal graph as a collection of subtrees of a tree is known then, with a linear processor number, we can restrict the time on an EREW-PRAM to O(logn). Section 1 introduces the notation that is essential for this paper. Section 2 discusses the structure of modules and splits in chordal graphs. Section 3 introduces the parallel algorithms for split decomposition and modular decomposition. Section 4 gives a further outlook. 1 Notation A graph G = (V;E) consists of a vertex set V and an edge set E. Multiple edges and loops are not allowed. The edge joining x and y is denoted by xy. We say that x is a neighbor of y i xy 2 E. A path is a sequence (x1 : : : xk) of distinct vertices such that xixi+1 2 E. A cycle is a closed path, that means a sequence (x0 : : : xk 1x0) such that xixi+1 (mod k) 2 E. A tree is a cycle free connected graph. A rooted tree is a directed graph whose underlying undirected graph is a tree with a distinguished vertex r (the 2 root) such that for any vertex v in T , there is a directed path to r. The unique vertex v0, such that (v; v0) is a directed edge in the rooted tree T , is called the parent of v in T . We denote the parent of a vertex in T by parentT (v). (v; v0) is also called the parent edge of v. v is called a child of v0 if v0 is the parent of v. (v; v0) is also called a child edge of v0. v0 is an ancestor of v i there is a directed path from v to v0 in T . v is also called a descendent of v0. A subgraph of (V;E) is a graph (V 0; E0) such that V 0 V , E0 E. An induced subgraph is an edge-preserving subgraph, that means (V 0; E0) is an induced subgraph of (V;E) i V 0 V and E0 = fxy 2 E : x; y 2 V 0g. A graph (V;E) is chordal i each cycle (x0 : : : xk 1x0) of length greater than 3 has an edge xixj 2 E; j i 6= 1 mod k (which joins vertices which are not neighbors in the cycle). A subset V 0 of the vertex set V is complete i all vertices of V 0 are pairwise joined by an edge. An inclusion-maximal complete set is called a (maximal) clique. Note that chordal graphs are a generalization of interval graphs. The following characterization of chordal graphs due to Gavril [7] and Buneman [2] is essential for the whole paper. Theorem 1 A graph G = (V;E) is chordal i it is the intersection graph of vertices of subtrees of a tree, i.e. there is a tree T and a collection S = fTv : v 2 V g of subtrees of T such that vw 2 E i the subtrees Tv and Tv have a common vertex of T . We call (T;S) also the subtree representation of G. Moreover, we may assume that the vertices of T correspond to the maximal cliques of G, i.e. the vertex t corresponds to the clique consisting of all subtrees containing t. We select some vertex r of T as the root and direct the edges of T in the direction to the root. We assume that for each edge (t1; t2) of T , t2 is the root of some subtree S 2 S that contains t1 and t2. If this is not the case then we select the root t02 of a subtree passing (t1; t2) that has the largest distance from r. We can replace (t1; t2) by (t1; t02) and the resulting tree still has the property that all Tv 2 S remain subtrees. We denote by n the number of vertices and by m the number of edges of G. Note that in any chordal graph, the number of cliques is bounded by n and the number of pairs (x; c) such that x is in the clique c is bounded by m. The parallel computation models used in this paper are the concurrent read concurrent write parallel random access machine (CRCW-PRAM), the exclusive read exclusive write parallel random access machine (EREW-PRAM), and the concurrent read exclusive write PRAM (CREW-PRAM). 3 2 The Structure of Modular and Split Decomposition in Chordal Graphs We assume in this section that G is a chordal graph. Theorem 2 Let V1; V2 be a partition of G = (V;E) into splits. Then the neighborhood of V1 in V2 or the neighborhood of V2 in V1 is complete. Proof: Suppose the theorem is not true. Then we nd vertices u1; v1 2 V1 in the neighborhood of V2 in V1 that are not adjacent and vertices u2; v2 2 V2 in the neighborhood of V1 that are not adjacent. On the other hand, since V1; V2 is a partition into splits, u1u2, u1v2, v1u2, and v1v2 are edges of G and form a chordless cycle of length four. This is a contradiction to the assumption that G is chordal. 2 Note that a module V 0 de nes a split V 0; V nV 0. The neighborhood of V nV 0 in V 0 is V 0. Corollary 1 The neighborhood of a non complete module of a chordal graph is complete. We assume that V1; V2 is a split decomposition and that the neighborhood of V1 in V2 is complete. Moreover, we assume that V1 is not complete and G restricted to V1 is a connected subgraph. Let T1 be the set of all vertices of T that are contained in some subtree Tv of T with v 2 V1, i.e. T1 = Sv2V1 Tv . Theorem 3 T1 is a subtree of T Proof: Let t1; t2 2 T1, t1 2 Tv1 , and t2 2 Tv2 with v1; v2 2 V1. Since V1 induces a connected subgraph of G, there is a path v1 = w1; w2; : : : ; wk = v2 of vertices wi 2 V1. Note that Twi and Twi+1 share at least one vertex, because wiwi+1 2 E. The union of all Twi is therefore a subtree of T . Moreover all vertices appearing in some Twi are in T1. Therefore v1 and v2 belong to the same tree of the forest that is induced by T1. Therefore T1 induces a subtree of T . 2 We call T1 the characteristic subtree of V1. We assume that V1 and V1 do not induce complete subgraphs and that G = (V;E) is connected. Since all vertices in V2 with neighbors in V1 have the same neighbors in V1, all Tv with v 2 V2 containing some vertices in T1 contain the same vertices in T1. Note that these vertices of T1 form a subtree S1 of T1. We call S1 the neighborhood subtree of V1. Moreover, if V1 is a module then all Tv in V2 that have neighbors in V1 contain all vertices in T1. Vice versa, suppose T1 = Sv2V1 Tv, where V1 is any set of vertices of G. If all Tv with v 62 V1 contain the same vertices in T1 then V1; V nV1 de nes a partition 4 into splits. Moreover, if all Tv , v 62 V1 contain all vertices in T1 then all vertices in V1 have the same neighbors outside V1, and therefore V1 is a module. Lemma 1 Let V1; V2 and V 0 1 ; V 0 2 be partitions into splits. If V1 and V 0 1 have the same characteristic subtree T1 then the neighborhood subtrees coincide and all vertices Tv with v 2 (V1 n V 0 1)[ (V 0 1 n V1) coincide with the neighborhood subtree of V1. Proof: Suppose the characteristic subtrees of V1 and V 0 1 coincide. Since G is connected there is at least one subtree Tv = T 0 that contains vertices in T1 and vertices outside T1. T 0 \ T1 coincides with the neighborhood subtree of V1 and V 0 1 . Therefore the neighborhood subtrees of V1 and V 0 1 coincide. Let v 2 V1 n V 0 1 . Then Tv must coincide with the neighborhood subtree of V1, because Tv contains only vertices in T1. 2 We assumed that for each edge (t1; t2) of T , there is a Tv that passes (t1; t2) and has t2 as its root. Therefore all edges leaving the characteristic subtree of a split partition are incident to the root of its neighborhood subtree. 3 The Algorithms 3.1 Modular decomposition Note that the neighborhood subtree of a non clique module coincides with its characteristic tree. Therefore all tree edges that leave the characteristic tree of a module are incident to the root of the characteristic tree. Therefore a characteristic tree T1 of a module can be characterized as follows. Theorem 4 A subtree T1 is a characteristic tree of a module i 1. there is a root t of T1 and a collection C of children of t such that T1 consists of t and all ancestors of any t0 2 C and 2. all subtrees Tv that pass some tree edge tt0 with t0 62 C contain all vertices of T1. Note that for any tree edge tt0 with t0 62 C, and any tree t00 2 C, the set of Tv passing tt0 is a subset of Tv passing tt00. Therefore the number of Tv passing tt00 is at most the number of Tv passing tt0. Moreover, equality of the numbers is only possible if the sets of Tv passing some tree edge tt1 with this cardinality are equal. Therefore we can sort all children t0 of t in decreasing order with respect to the number of Tv that pass (t0; t) into a sequence (ti)ki=1, and a characteristic tree of a module consists of t and the ancestors of an initial segment t1; : : : ; tl of the sequence of children of t. We denote the subtree consisting of t and the descendents of t1; : : : ; tl by Tt;l 5 Lemma 2 Tt;l is the characteristic tree of a module i all subtrees Tv that contain t, and the parent of t or some tj ; j > l contain all vertices in Tt;l. We call an subtree Tv full in ti if Tv contains all descendents of ti. We can reformulate previous lemma as follows. Lemma 3 Tt;l is not the characteristic tree of a module i there is a Tv that is not full in some ti; i l and contains a tj ; j > l. For any Tv with t 2 Tv , let first(v; t) be the smallest index i of the child ti such that Tv is not full in ti. For simplicity, we give the parent of t the index k + 1. We de ne last(v; t) as the largest index i of a vertex ti that is contained by Tv if the parent of t is not in Tv. We again can reformulate previous lemma. Corollary 2 Tt;l is not the characteristic tree of a module if there is Tv containing v such that first(v; t) l < last(v; t). This result enables us to formulate an algorithm to compute all characteristic subtrees. Algorithm CHARACTERISTIC SUBTREES Input: A rooted tree T and a collection of subtrees Tv ; v 2 V . Output: A set T of characteristic subtrees of T . 1. For each edge e = (t1; t2) of T , determine the number ne of Tv that pass e. 2. For each vertex t of T , sort the children t0 of t with respect to n(t0;t) in descending order. 3. For each Tv and each t 2 Tv , compute first(v; t) and last(v; t): If Tv is not full in t1 then first(v; t) = t1 else first(v; t) is the minimum i + 1 such that Tv is full in ti but not full in Ti+1. last(v) = maxfijti 2 Tvg. 4. For each l = 1; : : : ; k, compute the number Ut;l of v such that first(v; t) l < last(v; t): U1 t;l is the number of v with first(v; t) l and U2 t;l is the number of v with last(v; t) l. Ut;l = U1 t;l U2 t;l. 5. Tt;l is put into T i Ut;l = 0. 6 The correctness of this algorithm follows from the discussions before. It remains to check the parallel complexity. Note that the number of pairs (t; v) with t 2 Tv is bounded by the number m of edges of the underlying chordal graph G. Therefore also the number of pairs (f; v) such that the tree edge f is passed by Tv is bounded by m. The computation model we use here is the EREW-PRAM. The numbers ne can be computed in O(logn) time using O(n+m) processors on an EREW-PRAM. To check whether a subtree Tv is full in t0, we have to compute the number of descendents of any t0 in Tv and to compare it with the number of descendents in T . The number of descendents of all vertices t of a tree t can be computed in O(logn) time with O(jT j) processors by tree contraction on an EREW-PRAM (see for example [1]). Therefore since the sum of the number of vertices of all Tv and T is n+m, we get a processor bound of O(n+m). To compute first(v; t), we compute the ti with the smallest i such that Tv is full in ti. If i 6= 1 then first(v; t) = 1. Otherwise first(v; t) is the rst i+1 such that Tv is full in ti but the next j such that Tv is full in tj is not i+1 or i is the maximum i such that Tv is full in ti. Such a procedure can be done in O(logn) time with O(n+m) processors on an EREW-PRAM. The computation of last is a maximum computation that has an overall complexity of O(logn) time and O(n + m)= logn) processors on an EREW-PRAM. To compute the numbers U1 t;l and U2 t;l, we compute, for each i the numbers Vi;t and Wi;t of v with first(v; t) = i and last(v; t) = i respectively (O log n) time, O(n +m) processors on an EREW-PRAM) and apply a parallel pre x sum procedure (see for example [8]) that works in O(logn) EREW-time with O(n= logn) processors. Theorem 5 The characteristic trees of modules of a chordal graph can be computed in O(logn) time with O(n+m) processors on an EREW-PRAM, provided a subtree representation is given. Herewith we computed the non complete modules of a chordal graph up to those vertices v such that Tv coincides with a characteristic tree. To get clique modules and the vertices whose corresponding subtree coincides with a characteristic tree of a module, we enumerate the cliques, i.e. the vertices of T , in some way and sort fTv jv 2 V g[fT 0jT 0 is a characteristic tree g with respect to the lexicographic ordering. Note that trees with the same vertices of T appear consecutively. The lexicographic ordering can be computed in O(logn) time with O(n+m) processors by a CRCW-PRAM (note that the comparison of two trees needs O(1) CRCW-time and as many processors as the number of vertices of the two trees) and sorting of n items needs O(logn) time and O(n) processors provided the comparison of two items is a basic operation [3]). To nd out maximal complete modules and the vertices v such that the corresponding subtree Tv coincides with a certain characteristic tree, we compare neighbors in the lexicographic ordering. That can be done in O(1) time with O(n +m) processors on a CRCW-PRAM. The intervals of equal trees can be found in 7 O(logn) time with O(n) processors on an EREW-PRAM. The intervals of equal trees with at least two Tv form the maximal complete modules. The intervals of equal trees with a characteristic tree assign the Tv that are equal with this characteristic tree. Theorem 6 Modular decomposition of chordal graphs can be done in O(logn) time with O(n+m) processors on a CRCW-PRAM provided a subtree representation is given. We continue with the split decomposition. We assume that split components are connected. We begin with some further structural considerations. There are two cases. 1. The characteristic tree and the neighborhood subtree of the split V1; V2 have the same root. 2. The characteristic tree and the neighborhood tree have di erent roots. In that case the root of the characteristic tree is the root of T , because the root of the neighborhood subtree is the only vertex of the characteristic tree that is incident to edges of T that leave the characteristic tree. In the rst case, the characteristic tree T1 consists of its root t and the descendents of some children of t. In the second case T1 consists of the vertices of the whole tree T that are not the descendents of certain children of the root of the neighborhood subtree. Let t be the root of the neighborhood subtree of V1. Since we assume that V1 is connected, each edge of the characteristic tree T1 is passed by some Tv with v 2 V1. Moreover all Tv with v 62 V1 that contain t contain the same vertices of T1. Therefore for any neighbor t0 of t such that t0 62 T1 and any neighbor t00 of t in T1, the set of Tv passing tt0 is a proper subset of the set of Tv passing tt00 or t0 and t00 have no Tv in common. We continue with the structure of characteristic trees that have the same neighborhood subtree. Lemma 4 Let U be the set of neighbors of t that are not in T1. Suppose U = U1 [U2 and for any vertex t1 2 U1 and t2 2 U2, t1 and t2 are not in a common subtree Tv. Then we can add all the trees of T nT1 that contain the vertices of U1 to T1 and the resulting tree T 0 1 is still the characteristic tree of a split partition. The neighborhood subtree of T 0 1 and of T1 coincide. Proof: Note that all Tv that appear in T 0 1 and outside T 0 1 appear in U2 and therefore not in U1 and therefore also in not in a subtree of T n T1 containing a vertex of U1. Therefore all these Tv contain exactly those t0 2 T 0 1 that are in the neighborhood subtree of T1. 2 Last lemma states that we can partition the neighbors of t that are not in T1 into components C such that 8 1. we can add all subtrees of T n T1 that contain neighbors of t not in C to T1 and the resulting tree T 0 C is still a characteristic tree, 2. the neighborhood subtree of T 0 C is the neighborhood subtree of T1, and 3. the subtrees Tv containing vertices in C together with C are connected with respect to the membership relation. Note that all subtrees T 0 C are inclusion maximal characteristic subtrees with the same neighborhood tree. We claim that the characteristic subtrees of a certain neighborhood S tree are the intersections of inclusion maximal characteristic subtrees of the neighborhood subtree S. Lemma 5 The intersection of two characteristic subtrees with the same neighborhood subtree S is a characteristic subtree with the neighborhood tree S. Proof: Without loss of generality, we may assume that the two characteristic subtrees T1 and T2 are not contained each other. Note that the common neighborhood tree of T1 and T2 is a subtree of T1 \ T2. Let Tv contain vertices in T1 \ T2 and vertices outside T1 \ T2. Vertices outside T1 \ T2 are outside T1 or outside T2. Without loss of generality, Tv contains vertices outside T1. Therefore the vertices of Tv in T1 are exactly the vertices in the neighborhood subtree S. Therefore the vertices of Tv in T1 \ T2 are exactly the vertices of S. 2 To get full information of the characteristic trees of split partitions, we only have to compute the inclusion maximal characteristic trees of certain neighborhood subtrees. A necessary condition that t is the root of a characteristic tree T1 that contains the child t0 of t is that all Tv that contain t and the parent t00 of t contain the same descendents of t0. We call such children t0 good children of t. We determine the set of good children of any vertex t of T as follows. Algorithm GOOD Input: T Output: all t0 that are good children of their parents t. 1. Compute, for each t, the numberNt of Tv that contain t and the parent of t. 2. Compute, for each Tv and each t 2 Tv, the number d(t; Tv) of descendents of t in Tv. 3. For each t, determine a subtree Tt 2 fTvjv 2 V g that contains t and that has the parent of t as its root. 4. For each vertex t00 let Rt00 be the set of roots of Tv that have t00 as a leaf. Sort Rt00 with respect to the distance from the root of T . 9 5. For each t00, and each t 2 Rt00 , determine the number nt00;t of Tv with t00 as a leaf and a proper ancestor of t as its root (by parallel pre x computation). 6. t0 is a good child of t i it is in Tt, for each leaf t00 of Tt that is a descendent of t0, nt00;t = Nt, and for each Tv containing t0 and the parent of t, d(t0; Tv) = d(t0; Tt). Note that the sum of cardinalities of all Rt00 is bounded by m. Sorting of k items can be done in O(log k) time with O(k) processors [3] and parallel pre x computation of k items can be done in O(log k) time with O(k= log k) processors on an EREW-PRAM (see for example [8]). Therefore we get an overall complexity of O(logn) time and O(n+m) processors on an EREW-PRAM. Now let T1 be a characteristic tree such that the root of its neighborhood subtree t does not coincide with the root of T1. Then, since each edge (t1; t) of T is passed by some Tv that has t as its root, all Tv that contain a child t0 of t not in T1 and t must have t as its root. Children t0 with the property that all Tv passing (t0; t) have t as root are called potentially bad children of t. Potentially bad children can be determined in O(logn) time with O(n+m) processors on an EREW-PRAM. As mentioned in lemma 4, the set C of neighbors of t not in T1 forms together with the set D subtrees Tv that contain t and some neighbor of t not in T1 a connected set. Let t00 be a child of t in the neighborhood subtree of T1 with a minimum number k of Tv containing t00 and t. Then C and D form a connected component of of the set of all neighbors t0 of t such that less than k Tv pass t0 and t and all Tv containing T . We call such a set also a k-component. For any k, a k-component is called a cluster of t. Note that clusters of t are disjoint or comparable with respect to inclusion and therefore the inclusion is a tree-like ordering. Labeling each pair (t0; Tv) such that t0 2 Tv with the number nt0 of Tv passing t0 and t, we compute a minimum spanning tree. Note that all clusters form a subtree. As in [6] we can compute a tree Ft such that each cluster is the set of leaves of some node of Ft. Ft is also called the single linkage tree of t. This procedure can be done in O(logn) time with O(n+m) processors on a CREW-PRAM, for all t simultaneously. The possible characteristic tree TC of a cluster consists of that tree of T nC that contains t. Note that TC is not a characteristic tree i there is a t0 2 TC such that t0 is contained in some Tv 2 C but not in all Tv 2 C. Last is the case i 1. C contains the parent of t and there is a child t0 of t that is not in C, contains some Tv that contains the parent of t, and is not good or there is a t0 62 C and a Tv 2 C with root t that contains t0, 10 or 2. there is a child t0 62 C and a descendent t00 of t0 such that the number of Tv with t00 as a leaf that are in C is less than the number of Tv in C and at least one. To transform this equivalence into an e cient parallel algorithm, the following lemma is useful. Lemma 6 If neighbors t1 and t2 share a subtree Tv then the parents of t1 and t2 in the single linkage tree Ft are in one path to the root of Ft. Proof: Without loss of generality, the number n1 of Tv passing t1t is at most the number n2 of Tv passing t2t. The parent of t2 is the smallest cluster that contains t2 and is an n2-component. Obviously, also t1 is in the same n2-component. 2 Algorithm CHARACTERISTIC Input: T and Tv; v 2 V , and the single linkage trees Ft; t 2 T . Output: For each t 2 T , the set of s 2 Ft that represent a cluster C such that TC is a characteristic tree. 1. For each child t0 of t and each Tv that contains t0 and the parent of t, if t0 is not good then mark the path in Ft from the parent cluster of t0 to the parent of t in T , i.e. p(v; t0) = [parentT (t); parentFt(t0)]. 2. If the parent of t is a descendent of parentTt(t0) then compute, for each Tv with t0 2 Tv and t as root, the least common ancestor Lt(v) of parentT (t) and Tv in Ft. Mark the path between Lt(v) and ParentFt(t0), i.e. p(v; t0) = [Lt(v); ParentFt(t0)]. 3. For each descendent t00 that is the leaf of a subtree Tv with root t, determine the child t0 of t that is an ancestor of t00, determine the set Lt00;t of all least common ancestors of Tv with t00 as leaf and t as root in Ft, (exclude all c 2 Lt00;t that have a descendent in Lt00;t such that the parent is not in Lt00;t, note that such c cannot represent a characteristic tree), i.e. { for each s 2 Lt00;t, if parentFt(s) 62 Lt00;t, mark all nodes of Ft between parentFt(s) and parentFt(t0), i.e. p(s; t0) = [parentFt(s); parentFt(t0)]. { Delete all c 2 Lt00;t with a path p(s; t0) = [u; v] such that c is an ancestor of u and a proper descendent of v, i.e. compute for each c 2 Lt00;t, the number N1(c) of u's that are descendents of c and the number N2(c) of v's that are descendents of c, 11 delete c fromLt00;t if N2(c) > N1(c),for each c 2Lt00;t, the number n(c; t00) of those Tv that contain t00 as aleaf in T and are in the cluster that corresponds to c, i.e. the leaves ofinLt00;t that are descendents of c in Ft (by tree contraction)if n(c; t00) is not the number of Tv that are descendents of c in Ft thenmark [c;parentFt(t0)],4. s represents a characteristic tree i there is no marked path [u; v] such thatu is a descendent of s and v is a proper ancestor of s. That is checked in thesame way as in the deletion step of elements ofLt00;t.The dominating steps of this algorithm are tree contractions on trees ofoverall size O(n+m) and therefore the algorithm can be executed in O(logn)time with O(n+m) processors on a CREW-PRAM.It remains to compute the neighborhood subtrees of the characteristic trees.It can be done by the following algorithm.Algorithm NEIGHBORHOOD TREESInput: T , Tv; v 2 V , the cluster trees Ft; t 2 T , the set Ct Ft of c thatrepresent a characteristic tree.Output: The neighborhood subtrees Sc of c 2 Ct; t 2 T .1. If c = parentFt(parentT (t)) 2 Ct (i.e. the descendents of t form a charac-teristic tree) then S0c is a subtree Tv containing t and parentT (t). Sc is thetree S0c n fparentT (t)g that contains t.2. If parentFt(parentT (t)) 6= c 2 Ct then S0c is a Tv that is a descendent of cin Ft such that the root of Tv is t. If c represents a wc-component, i.e. themaximum weightnt0 that appears in a descendent of c is k, then S0c consistsof t, all children t0 of t in S0c such that the number of common subtrees Tvin t0 and t is greater than k and all descendents of such t0 in S0c.The processor number of this algorithm can be bounded by the number ofpairs (t; T 0), t 2 T 0 and T 0 is a neighborhood subtree.Lemma 7 The number of (t0; c), t0 2 Sc is bounded by O(m).Proof: Note that all clusters c 2 Ft that represent a characteristic tree areeven in tree like order. Let Ht be the tree of these clusters.Suppose c0 is the only child of c in Ht. Since the number of Tv that aredescendents of c in Ft is larger than the number of Tv that are descendents ofc0 in Ft, there is a Tv that is an Ft-descendent of c but not an Ft-descendentof c0. Note that each cluster c and therefore each leaf of Ht has some Tv as adescendent in Ft. Therefore up to a constant factor, the number of descendentsof c in Ht is bounded by the number of Tv that are descendents of c in Ft.12 Let t0 be a descendent of t and let t00 be the child of t that is an ancestorof t0. Then the number of neighborhood subtrees that contain t0 and have t asroot is bounded by the number of proper descendents of the smallest cluster cin Ht that contains t00. Since t0 is in the neighborhood subtree of some clusternot containing t00, it contains all Tv that appear in any proper descendent of cin Ht. Therefore, up to a constant factor, the number of neighborhood subtreeswith root t that are not the neighborhood subtree of the tree containing alldescendents of t and contain t0 is bounded by the number of Tv with root tcontaining t0. The number of neighborhood subtrees containing t0 and thatare the neighborhood subtree of the subtree containing all descendents of t isbounded by the number of Tv that contain t0 and that have the parent of t asthe root and therefore for all t simultaneously bounded by the number of Tvcontaining t0.Therefore the number of (t0; c) such that t0 2 Sc is bounded by m.2.It remains to nd out those Tv that are have the same vertex set, thoseneighborhood subtrees Sc that coincide in its vertex set, and those Tv thatcoincide with a certain neighborhood subtree. This can be done in O(logn)CRCW-time with O(n +m) processors by lexicographic ordering with respectto some order of the vertices of T .Theorem 7 Split decomposition for chordal graphs can be done in O(logn) timeon a CRCW-PRAM with O(n+m) processors, provided a subtree representationis known.4 ConclusionsWe developed parallel algorithms for modular decomposition and split decom-position that are nearly optimal. General algorithms for modular decompositionand split decomposition are incremental and seem therefore to be inherently se-quential. Moreover, the best known time bound for modular decomposition orsplit decomposition is O(n2) [13, 12]. It even might be interesting to improvethese algorithms to sequential linear time algorithms.References[1] K. Abrahamson, N. Dadoun, D. Kirkpatrick, T. Przyticka, A Simple Par-allel Tree Contraction Algorithm, Journal of Algorithms 10 (1988), pp.287-302.[2] P. Buneman, A Characterization of Rigid Circuit Graphs, Discrete Math-ematics 9(1974), pp. 205-212.[3] R. Cole, Parallel Merge Sort, 27th Symposium on Foundations of ComputerScience (1986), pp. 511-516.13 [4] W. Cunningham, Decomposition of Directed Graphs, SIAM Journal onAlgebraic and Discrete methods 3 (1982), pp. 214-228.[5] E. Dahlhaus, "Chordale Graphen im besonderen Hinblick auf parallele Al-gorithmen", Habilitation Thesis, University of Bonn.[6] E. Dahlhaus, Fast Parallel Algorithms for the Single Link Heuristics ofHierarchical Clustering, Proceedings of the Fourth IEEE Symposium onParallel and Distributed Processing (1992), pp. 184-186.[7] F. Gavril, The Intersection Graphs of Subtrees in Trees are Exactly theChordal Graphs, Journal of Combinatorial Theory Series B 16 (1974), pp.47-56.[8] A. Gibbons, W. Rytter, E cient Parallel Algorithms, Cambridge Univer-sity Press, Cambridge, 1989.[9] P. Hammer, F. Ma ray, Completely Separable Graphs, Discrete Appliedmathematics 27 (1990), pp. 85-99.[10] W. Hsu, T. Ma, Substitution Decomposition on Chordal Graphs and Ap-plications, ISA91, Algorithms, LNCS 557, W. Hsu, R.C.T. Lee ed., 1991,pp. 52-60.[11] P. Klein, E cient Parallel Algorithms for Chordal Graphs, 29th Symposiumon Foundation of Computer Science (1988), pp. 150-161.[12] T. Ma, J. Spinrad, Split Decomposition of Undirected Graphs, Proceedingsof the First Symposium on Discrete Algorithms (1988), pp. 252-260.[13] J. Muller, J. Spinrad, Incremental Modular Decomposition, Journal of theACM 36 (1989), pp. 1-19.[14] R. Tarjan, U. Vishkin, Finding Biconnected Components in LogarithmicParallel Time, SIAM-Journal on Computing 14 (1985), pp. 862-874.14

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Angewandte Mathematik Und Informatik Universit at Zu K Oln Parallel Algorithms for Hierarchical Clustering and Applications to Split Decomposition and Parity Graph Recognition

We present eecient (parallel) algorithms for two hierarchical clustering heuristics. We point out that these heuristics can also be applied to solve some algorithmic problems in graphs. This includes split decomposition. We show that eecient parallel split decomposition induces an eecient parallel parity graph recognition algorithm. This is a consequence of the result of 7] that parity graphs a...

متن کامل

Parallel Open Ear Decomposition with Applications to Graph Biconnectivity and Triconnectivity

This report deals with a parallel algorithmic technique that has proved to be very useful in the design of eecient parallel algorithms for several problems on undirected graphs. We describe this method for searching undirected graphs, called \open ear decomposition", and we relate this decomposition to graph biconnectivity. We present an eecient parallel algorithm for nding this decomposition a...

متن کامل

A Decomposition Theorem for Chordal Graphs and its Applications

We introduce a special decomposition, the so-called split-minors, of the reduced clique graphs of chordal graphs. Using this notion, we characterize asteroidal sets in chordal graphs and clique trees with minimum number of leaves.

متن کامل

On the Enumeration of Minimal Dominating Sets and Related Notions

A dominating set D in a graph is a subset of its vertex set such that each vertex is either in D or has a neighbour in D. In this paper, we are interested in an output-sensitive enumeration algorithm of (inclusionwise) minimal dominating sets in graphs, called Dom problem. It was known that this problem can be polynomially reduced to the well known Transversal problem in hypergraphs. We show th...

متن کامل

Split decomposition and graph-labelled trees: characterizations and fully-dynamic algorithms for totally decomposable graphs

In this paper, we revisit the split decomposition of graphs and give new combinatorial and algorithmic results for the class of totally decomposable graphs, also known as the distance hereditary graphs, and for two non-trivial subclasses, namely the cographs and the 3-leaf power graphs. Precisely, we give strutural and incremental characterizations, leading to optimal fullydynamic recognition a...

متن کامل

Parallel Algorithms for Hierarchical Clustering and Applications to Split Decomposition and Parity Graph Recognition

Ž . We present efficient parallel algorithms for two hierarchical clustering heuristics. We point out that these heuristics can also be applied to solving some algorithmic problems in graphs, including split decomposition. We show that efficient parallel split decomposition induces an efficient parallel parity graph recognition algorithm. This is a consequence of the result of S. Cicerone and D...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1993